iT邦幫忙

2024 iThome 鐵人賽

DAY 7
0

前言

經過上一篇權限管理,不知道大家有沒有對於 Linux 系統又更多的認識了,那今天這篇跟大家分享有關於軟體套件管理系統又稱為包管理系統,相信大家在 Linux 安裝套件的時候,常常會用到 apt、yum、pacman 上述這些都是軟體套件管理系統之一,接下來我會跟大家分享一些有關於軟體套件管理系統的知識。

常見的 Linux 軟體套件管理系統

  1. DPKG
  2. apt
  3. apt-cache
  4. RPM
  5. yum
  6. DNF
  7. pkg
  8. Pacman
  9. zypper
操作系統 格式 工具
Debian .deb apt, apt-cache, dpkg
Ubuntu .deb apt, apt-cache, dpkg
CentOS .rpm yum
Fedora .rpm dnf
FreeBSD Ports .txz pkg

使用方式

因為我現在本身還在使用 Ubuntu ,所以我來分享一下 dpkg、apt 的一些使用方式

dpkg

$dpkg --help #可查詢可用的其他指令
$dpkg -i <package> # 安裝套件
$dpkg -r <package> # 刪除套件
$dpkg -P <package> # 刪除整個套件包
$dpkg -L <package> # 列出與該套件關聯的文件
$dpkg -l <package> # 顯示該套件版本 
$dpkg -l # 列出已安裝的套件
$dpkg -S <keyword> # 搜索所屬的套件包內容
$dpkg -c 列出 .deb 包的內容

apt、apt-get

$apt-get upgrade # 更新所有已安裝的套件包
$apt-get dist-upgrade # 將系統升級到新版本
$apt-get update # 更新
$apt-get install <package> # 安裝一個套件包
$apt-get remove <package> # 解除一個已安裝的套件包 (保留配置文件)
$apt-get -purge remove <package> # 解除一個已安裝的套件包 (刪除配置文件)
$apt-get clean # 會把安裝的套件的備份也刪除
$apt list --installed # 列出已安裝的套件

pip 與 apt 的差別

相信大家看到我前言的時候會開始思考,咦~? 那這樣 pip 是不是跟 apt 一樣也算一種軟體套件管理系統呢? 我只能說不完全是,pip 與 apt 都算是一種套件系統沒錯,但是他們的服務目的不太一樣,無論是管理範圍、安裝對象、運行環境、用法差異、權限需求:

項目 pip apt
管理範圍 專門用來管理 Python 軟體包,安裝和管理的是 Python 生態系統中的庫和模組(例如,NumPy、Pandas)。這些包來自 Python 官方的包管理倉庫 PyPI(Python Package Index) 用於管理 系統級別的軟體包,通常是基於 Debian 或 Ubuntu 的 Linux 發行版的包管理工具。它可以安裝、更新、刪除來自官方或第三方倉庫的應用程序和系統工具(例如,Apache、nginx、Vim 等)
安裝對象 主要用來安裝 Python 編寫的庫和模組,這些模組通常是用於開發 Python 應用程序的依賴項 安裝的是系統應用程序和依賴,比如 Apache 網頁伺服器、MariaDB 資料庫等
運行環境 運行於 Python 虛擬環境中 運行於 Linux 系統層面
用法差異 pip install <package>用來安裝 Python 庫 apt install <package>用來安裝系統應用程序或工具
權限需求 通常不需要管理員(root)權限,除非是安裝到全局環境。開發中常使用虛擬環境來隔離安裝的包 需要管理員權限(即使用 sudo)來執行,因為它會改變系統文件和安裝系統軟體

結論與感想

因為我本身的 Linux 系統常用的是 Ubuntu 所以基本上打的指令八九不離時所以基本上打的指令都跟 apt、apt-get 脫不了關係,不過之前在使用 manjaro 的時候有用過 pacman,真心覺得如果想更加了解 Linux 的話,可以嘗試看看不同的版本,有時候看到有些大神用 Linux 心中都會不自覺感到敬佩,進入資工行業隨時都要面臨資訊的更新,學習新技術確實重要,但是有能持之以恆把新技術學習透徹的心更重要,共勉之。

小補充 : apt 與 apt-get 之間的差異不僅僅是 apt 是 apt-get 的更新版本。apt 命令被設計為 apt-get 更便捷易用的替代方案,結合了多個套件管理工具的功能,以方便使用者使用

資料來源

https://www.51cto.com/article/716074.html

https://blog.gtwang.org/linux/yum-linux-command-tutorial-and-examples/


上一篇
Day6 - 權限管理
下一篇
Day8 - LVM 邏輯捲軸管理
系列文
0 到 100 Linux快打旋風30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言